#!/usr/bin/env python 
# -*- coding:utf-8 -*-
# dict的支持，dict全称dictionary，在其他语言中也称为map，使用键-值（key-value）存储，具有极快的查找速度
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print(d['Michael'])

# 如果key不存在，dict就会报错
# print(d['asd']) KeyError: 'asd'

# key 是否存在
print(d.get("123"))  # 存在返回 key 的值,不存在返回 None
print(d.get("123", -1))  # 存在返回 key 的值,不存在返回后面指定的 -1

# 删除 key
d.pop('Bob')
print(d)

# dict内部存放的顺序和key放入的顺序是没有关系的。
"""
和list比较，dict有以下几个特点：

查找和插入的速度极快，不会随着key的增加而变慢；
需要占用大量的内存，内存浪费多。

而list相反：

查找和插入的时间随着元素的增加而增加；
占用空间小，浪费内存很少。
所以，dict是用空间来换取时间的一种方法。

dict的key必须是不可变对象!!!!!,类似 java 中的HashMap的 key

"""

# set :set和dict类似，也是一组key的集合，但不存储value。由于key不能重复，所以，在set中，没有重复的key。
# s = set([1, 2, 3])
s = set([1, 1, 2, 2, 3, 3])
print(s)
